/*
 * This header was generated from the Linux kernel headers by update_headers.py,
 * to provide necessary information from kernel to userspace, such as constants,
 * structures, and macros, and thus, contains no copyrightable information.
 */
#ifndef _UAPI_LINUX_IF_ARP_H
#define _UAPI_LINUX_IF_ARP_H
#include <linux/netdevice.h>
#define ARPHRD_NETROM	0
#define ARPHRD_ETHER 	1
#define	ARPHRD_EETHER	2
#define	ARPHRD_AX25	3
#define	ARPHRD_PRONET	4
#define	ARPHRD_CHAOS	5
#define	ARPHRD_IEEE802	6
#define	ARPHRD_ARCNET	7
#define	ARPHRD_APPLETLK	8
#define ARPHRD_DLCI	15
#define ARPHRD_ATM	19
#define ARPHRD_METRICOM	23
#define	ARPHRD_IEEE1394	24
#define ARPHRD_EUI64	27
#define ARPHRD_INFINIBAND 32
#define ARPHRD_SLIP	256
#define ARPHRD_CSLIP	257
#define ARPHRD_SLIP6	258
#define ARPHRD_CSLIP6	259
#define ARPHRD_RSRVD	260
#define ARPHRD_ADAPT	264
#define ARPHRD_ROSE	270
#define ARPHRD_X25	271
#define ARPHRD_HWX25	272
#define ARPHRD_CAN	280
#define ARPHRD_PPP	512
#define ARPHRD_CISCO	513
#define ARPHRD_HDLC	ARPHRD_CISCO
#define ARPHRD_LAPB	516
#define ARPHRD_DDCMP    517
#define ARPHRD_RAWHDLC	518
#define ARPHRD_RAWIP    519
#define ARPHRD_TUNNEL	768
#define ARPHRD_TUNNEL6	769
#define ARPHRD_FRAD	770
#define ARPHRD_SKIP	771
#define ARPHRD_LOOPBACK	772
#define ARPHRD_LOCALTLK 773
#define ARPHRD_FDDI	774
#define ARPHRD_BIF      775
#define ARPHRD_SIT	776
#define ARPHRD_IPDDP	777
#define ARPHRD_IPGRE	778
#define ARPHRD_PIMREG	779
#define ARPHRD_HIPPI	780
#define ARPHRD_ASH	781
#define ARPHRD_ECONET	782
#define ARPHRD_IRDA 	783
#define ARPHRD_FCPP	784
#define ARPHRD_FCAL	785
#define ARPHRD_FCPL	786
#define ARPHRD_FCFABRIC	787

#define ARPHRD_IEEE802_TR 800
#define ARPHRD_IEEE80211 801
#define ARPHRD_IEEE80211_PRISM 802
#define ARPHRD_IEEE80211_RADIOTAP 803
#define ARPHRD_IEEE802154	  804
#define ARPHRD_IEEE802154_MONITOR 805
#define ARPHRD_PHONET	820
#define ARPHRD_PHONET_PIPE 821
#define ARPHRD_CAIF	822
#define ARPHRD_IP6GRE	823
#define ARPHRD_NETLINK	824
#define ARPHRD_6LOWPAN	825
#define ARPHRD_VSOCKMON	826
#define ARPHRD_VOID	  0xFFFF
#define ARPHRD_NONE	  0xFFFE
#define	ARPOP_REQUEST	1
#define	ARPOP_REPLY	2
#define	ARPOP_RREQUEST	3
#define	ARPOP_RREPLY	4
#define	ARPOP_InREQUEST	8
#define	ARPOP_InREPLY	9
#define	ARPOP_NAK	10
struct arpreq {
  struct sockaddr	arp_pa;
  struct sockaddr	arp_ha;
  int			arp_flags;
  struct sockaddr       arp_netmask;
  char			arp_dev[16];
};
struct arpreq_old {
  struct sockaddr	arp_pa;
  struct sockaddr	arp_ha;
  int			arp_flags;
  struct sockaddr       arp_netmask;
};
#define ATF_COM		0x02
#define	ATF_PERM	0x04
#define	ATF_PUBL	0x08
#define	ATF_USETRAILERS	0x10
#define ATF_NETMASK     0x20
#define ATF_DONTPUB	0x40
struct arphdr {
	__be16		ar_hrd;
	__be16		ar_pro;
	unsigned char	ar_hln;
	unsigned char	ar_pln;
	__be16		ar_op;
#if 0

	unsigned char		ar_sha[ETH_ALEN];
	unsigned char		ar_sip[4];
	unsigned char		ar_tha[ETH_ALEN];
	unsigned char		ar_tip[4];
#endif
};
#endif
